/********************************************
 * 功能说明: 
 * 模块名称: 
 * 系统名称: 
 * 软件版权: 西安华信智慧数字科技有限公司
 * 系统版本: 1.0.0
 * 开发人员: zhangfb
 * 开发时间: 2020/3/1 16:49
 * 审核人员: 
 * 相关文档: 
 * 修改记录: 修改日期 修改人员 修改说明
 *********************************************/
package com.hyacinth.cloudnote.modules.note.dto;

import com.hyacinth.cloudnote.common.dto.AbstractAuditableDTO;
import com.hyacinth.cloudnote.modules.note.enums.FavoriteType;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;

import javax.validation.constraints.NotNull;
import java.util.UUID;

/**
 * 收藏夹DTO
 *
 * @author zhangfb
 * @version 1.0.0.1
 * @since 2020/3/1 16:49
 */
@ToString
@NoArgsConstructor
@Getter
@Setter
public class FavoriteDTO extends AbstractAuditableDTO {

    private static final long serialVersionUID = 2073504407751628044L;

    /**
     * 笔记ID
     */
    @ApiModelProperty("笔记ID")
    private UUID noteId;

    /**
     * 笔记本
     */
    @ApiModelProperty("笔记本ID")
    private UUID noteBookId;

    /**
     * 标签
     */
    @ApiModelProperty("标签ID")
    private UUID tagId;

    /**
     * 收藏类型
     */
    @ApiModelProperty("收藏类型")
    @NotNull
    private FavoriteType type;

    //*****************视图属性******************

    /**
     * 标签名
     */
    @ApiModelProperty("标签名")
    private String tagName;

    /**
     * 笔记本名称
     */
    @ApiModelProperty("笔记本名称")
    private String noteBookName;

    /**
     * 笔记标题
     */
    @ApiModelProperty("笔记标题")
    private String noteTile;
}
